<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数据的类型</title>
  </head>

  <body>

  </body>
  <script>
    /* 
     数据类型：
     一.分类：
        1.1 基本数据类型:
            字符串：String
            数值型：Number
            布尔型：Boolean
            undefined：undefined
            null：null
            symbol:
        1.2 复合数据类型：
            对象:Object
            数组：Array一种特别的对象(数值下标，内部数据是有序的)
            函数：function一种特别的对象(可以执行)    
     二.判断：
        2.1 typeof:判断类型,返回字符串类型的表达
           2.1.1 typeof可以用来判断字符串，数值，布尔，undefined
        2.2 instanceof：判断是否是某个对象的实例
        2.3 ===:全等符号
           2.3.1 全等可以用来判断Undefined，null
    */
    //1.基本数据类型
    var a;
    var b = null;

    console.log(a, typeof (a), typeof (a) === 'undefined', a === undefined, 'undefined' ===
      'undefined', a === 'undefined'); //undefined,'undefined',true,true,true,false

    console.log(b, typeof (b)); //null 'object'

    //2.复合数据类型
    var c = {
      b2: [1, 'abc', console.log],
      b3: {
        name: "jason",
        age: 18,
      },
      b4: function () {
        console.log("function");
      }
    };

    console.log("-------------------------------");
    console.log(c instanceof Object, c instanceof Array); //true false
    console.log(c.b2 instanceof Array, c.b3 instanceof Object); //true true
    console.log(c.b4 instanceof Function, c.b4 instanceof Object); //true true,函数是一个特殊的对象
    
  </script>

</html>